#ifndef BFCP_SENDDATA_HXX
#define BFCP_SENDDATA_HXX


#include "BfcpNetTuple.hxx"
#include "bfcp_message_processing/bfcp_messages.h"

namespace bfcp
{
    class BfcpSendData
    {
    public:
        enum BfcpSendDataCommand
        {
            NoCommand,
            CloseConnection
        };
        
        BfcpSendData(bfcp_message* data, const BfcpNetTuple& dest)
            : mData(data), mDestination(dest), mCommand(NoCommand)
        {
        }

        ~BfcpSendData()
        {
            bfcp_free_message(mData);
        }

        bfcp_message* mData;
        BfcpNetTuple mDestination;
        // .bwc. Used for special commands: ie. to close connections, and enable flow timers
        BfcpSendDataCommand mCommand;
    };

}

#endif //#ifndef BFCP_SENDDATA_HXX
